﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using SisEagleVO;

namespace SisEagleBO
{
    public partial class CategoriasBO
    {

        /// <summary>
        /// Seleciona registro por _CodCategoria.
        /// </summary>
        /// <param name="_CodProduto">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public SisEagleVO.CategoriasVO Pega_Dados_Categoria(string _CodCategoria)
        {
            try
            {
                SqlDataReader dados = null;
                SisEagleVO.CategoriasVO objVO = null;

                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodCategoria, NomeCategoria, Descricao  ");
                strSql.Append(" FROM  Categorias  ");
                strSql.Append(" WHERE (  CodCategoria =   " + _CodCategoria + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                dados = objDO.QueryConsulta(strSql.ToString());

                if (dados.HasRows)
                {
                    dados.Read();

                    objVO = new SisEagleVO.CategoriasVO();
                    objVO.CodCategoria = Convert.ToInt16(dados["CodCategoria"].ToString());
                    objVO.NomeCategoria = dados["NomeCategoria"].ToString();
                    objVO.Descricao = dados["Descricao"].ToString();
                }

                // executa consulta e retorna um DataSet
                return objVO;
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }


        public CategoriasVO PodeExcluir(CategoriasVO categorias)
        {
            SqlDataReader dados = null;
            SisEagleVO.CategoriasVO retorno = null;
            try
            {

                objDO = new SisEagleDO.SisEagleDO();

                strSql = new StringBuilder();
                strSql.Append(" SELECT    C.NomeCategoria, C.CodCategoria, P.NomeProduto, P.CodProduto ");
                strSql.Append(" FROM       Categorias C INNER JOIN  ");
                strSql.Append("  Produtos P ON C.CodCategoria  = P.codCategoria ");
                strSql.Append(" WHERE (  C.CodCategoria =   " + categorias.CodCategoria + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();


                objDO = new SisEagleDO.SisEagleDO();

                dados = objDO.QueryConsulta(strSql.ToString());

                if (dados.HasRows)
                {
                    dados.Read();

                    retorno = new SisEagleVO.CategoriasVO();
                    retorno.CodCategoria = Convert.ToInt16(dados["CodCategoria"].ToString());
                    retorno.NomeCategoria = dados["NomeCategoria"].ToString();
                    

                    
                }

                // executa consulta e retorna um DataSet
                return retorno;
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }
    }
}

